﻿namespace CST_276_Lab_3
{
    public abstract class DeskAssembly
    {
        #region Methods

        public Desk BuildDesk(string type)
        {
            var desk = CreateDesk(type);
            desk.Prepare();
            desk.Assemble();

            return desk;
        }

        protected abstract Desk CreateDesk(string type);

        #endregion
    }
}
